.@{modalPrefixClass} {
  position: relative;

  &-mask {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    z-index: @modal-zindex;
    background-color: @fill-mask;
    &-hidden {
      display: none;
    }
  }

  &-wrap {
    position: fixed;
    overflow: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    z-index: @modal-zindex;
    -webkit-overflow-scrolling: touch;
    outline: 0;
    .display-box();
    align-items: center;
    justify-content: center;
  }

  &&-transparent {
    .@{modalPrefixClass}-content {
      border-radius: @radius-lg;
      height: auto;
      padding-top: @v-spacing-lg;
      .@{modalPrefixClass}-body {
        padding: 0 @h-spacing-lg @v-spacing-lg;
      }
    }
  }

  &-title {
    margin: 0;
    font-size: @modal-font-size-heading;
    line-height: @line-height-base;
    color: @color-text-base;
    text-align: center;
  }

  &-header {
    padding: @v-spacing-sm @h-spacing-lg @v-spacing-lg;
  }

  &-content {
    position: relative;
    background-color: @fill-base;
    border: 0;
    background-clip: padding-box;
    text-align: center;
    height: 100%;
    overflow: hidden;
  }

  &-close {
    border: 0;
    background-color: transparent;
    outline: none;
    position: absolute;
    right: @h-spacing-lg;
    z-index: 999;
    height: @icon-size-sm;
    width: @icon-size-sm;
    &-x {
      display: inline-block;
      width: 30px;
      height: 30px;
      background-repeat: no-repeat;
      background-size: cover;
      .encoded-svg-background('modal_delete');
    }
  }

  &-body {
    font-size: @font-size-base;
    color: @color-text-caption;
    height: 100%;
    overflow: auto;
  }

  &&-operation {
    .@{modalPrefixClass}-content {
      border-radius: @radius-lg;
      height: auto;
      padding-top: 0;
      .@{modalPrefixClass}-body {
        padding: 0;
      }
      .@{modalPrefixClass}-button {
        color: @color-text-base;
        text-align: start;
        padding-left: 30px;
      }
    }
  }
}
